package com.atguigu.test;

import com.atguigu.bean.Person;
import com.atguigu.config.MainConfigOfProfile;
import com.atguigu.config.MainConfigOfPropertyValue;
import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * Copyright 2025 ZS Network Co., Ltd. All rights reserved.
 * 本文件仅限于正数网络技术有限公司内部传阅，禁止外泄以及用于其他的商业目的。
 * Created by zwn on 2025/7/29.
 *
 * @description:
 */
public class IOCTest_profile {

    //1.使用命令行参数：-Dspring.profiles.active=test
    //2.使用无参的AnnotationConfigApplicationContext
    @Test
    public void test01() {
       /* AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfProfile.class);
        String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
        for (String name : beanDefinitionNames) {
            System.out.println(name);
        }*/

        /**
         *  1）、创建无参的  new AnnotationConfigApplicationContext();
         */
         AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
         /**
         *  2）、设置需要激活的环境
         */
         applicationContext.getEnvironment().setActiveProfiles("dev","prod");
         /**
         *  3）、注册主配置类
         */
         applicationContext.register(MainConfigOfProfile.class);
         /**
         *  4）、启动刷新容器
         */
         applicationContext.refresh();
        String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
        for (String name : beanDefinitionNames) {
            System.out.println(name);
        }

       applicationContext.close();
    }
}
